<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .demo{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: red;
  }
</style>
<body>
  <!-- [html] 关于`<form>`标签的enctype属性你有哪些了解？ -->
    
    enctype属性规定在将表单数据发送到服务器之前如何对其进行编码

注意：只有method = "post"时才使用enctype属性

语法：
<form enctype="value"></form>

属性值
值	描述
application/x-www-form-urlencoded	默认。在发送前对所有字符进行编码（将空格转换为 "+" 符号，特殊字符转换为 ASCII HEX 值）。
multipart/form-data	不对字符编码。当使用有文件上传控件的表单时，该值是必需的。
text/plain	将空格转换为 "+" 符号，但不编码特殊字符。
上面的话太笼统？那看下面的解释吧：

当你指定了method = "post"时，就会用到enctype属性，这个属性可以设置三 种类型的值。如果你没有设置enctyp的值，那么它将会使用默认值application/x-www-form-urlencoded

application/x-www-form-urlencoded编码类型：

在不指定 enctype 属性时 application/x-www-form-urlencoded 是默认属性。

会将表单中发送到服务器之前都会进行编码(空格转换为 "+" 加号，特殊符号转换为 ASCII HEX 值)，数据编码成键值对的形式

当表单的action为post时，它会把form数据封装到 http body 中，然后发送到服务器；

当表单的action为get时，它会把表单中发送的数据转换成一个字符串(如：a=1&b=2&c=3)并使用?连接到 url 后面。

multipart/form-data：它不对字符进行编码，在使用包含文件(如图片、mp4等文件)上传控件的表单时必须使用该值

text/plain：数据以纯文本格式进行编码，空格转换为'+'号，但不对特殊字符编码

示例
HTML代码如下：

<body>
    <form action="" enctype="application/x-www-form-urlencoded">
        First name: <input type="text" name="fname">
        Last name: <input type="text" name="lname">
        <input type="submit" value="提交">
    </form>
</body>
这段代码有以下几点需要注意：

form的提交行为需要通过type=submit实现
form中的method属性不指定时，默认的提交方式为get请求，那么也就是说如果不指定method为post，那么是不会使用enctype属性的。
form表单的enctype属性是application/x-www-form-urlencoded

  <script>
  </script>
</body>
</html>

